old experiment with type-safe query language as haskell edsl