Currently we return strings representing our errors. Really we should have proper `Error('detailed description')` throughout the code.