Here's a question on using the Unison language.
I wanted to play around with defining APIs for data sources/sinks/feeds etc, but I hit a wall. I don't know how I should define an API in unison without tying down the underlying datatype used to implement it.
As a example, consider the following bit of Haskell.
-- let's ignore for the purposes of this discussion whether this is a wise definition of a stream...
class StreamT s where
get :: s a -> (a, s a)