> Referring to return codes, which are completely arbitrary in nature, as being intuitive and thus, 0 as true being intuitive, feels like a complete logic breakdown.
Does the opposite approach make sense though? Generally, something being "true" means a program can happily move along. Something being "false" generally requires more introspection on why exactly it's false, i.e. error handling, exception handling, with the resulting changes in execution flow.