Hacky. View needs more free monads/to be unified