Brubeckian explorations in first-order logic using Haskell