A runtime type-provider that gives case classes from strings, using standard (but experimental) Scala reflection