scala f-type bound pattern shapeless static type typelevel meta-programming macro lisp functional programming cats scala night
See more