Abstract って名前抽象的過ぎるし、 Monad 専用のものではないから, infixing.control.TypeClass とする