A type-safe, boilerplate-free, key-value store in Scala