free arrows and applicatives with and without type-level computation