$ Rename Core to Base
* Raise argument error when type is invalid in `lower_query_string`
$ Move extension code into another module