is there a similar path for Nothing and variance flipped? can pt be wildcard or some such? should we test monomorphicity first assuming it's the common case and thus avoids a =:=?