don't functorize over Char