-module(affinity). -compile([no_auto_import, nowarn_unused_vars]). -export([affinity_max/2]). -export_type([gloom_affinity/0]). -type gloom_affinity() :: nothing | everything | something. -spec affinity_max(gloom_affinity(), gloom_affinity()) -> gloom_affinity(). affinity_max(Left, Right) -> case {Left, Right} of {nothing, _} -> Left; {_, nothing} -> Right; {everything, everything} -> Left; {everything, something} -> Left; {something, everything} -> Right; {something, something} -> Left end.