capture instances for free monads