added `tl_is_distinct` and `tl_is_strict_subset`
improved unit test for new `type_list` features
improved pattern matching

this patch returns the result of a pattern matching expression
from detail::behavior_impl as optional<any_tuple>