Just started reading Time and Relational Theory by C.J. Date, Hugh Darwen & Nikos A. Lorentzos. I feel fortunate to have spent some time in Haskell and Haskell-like languages, I think it's helping me to grok the definitions for types and relations more easily (already having a mental model for type and data constructors; which so far seems to map to type generators and possible representations with their selectors).