An historical reason provides a rationale for a design or implementation choice made long ago and which cannot be easily undone today without breaking lots of code. It often leads to a choice that is not wrong per se but which may seem inconsistent with later development. For example, the name of entities are their fully-qualified name for an historical reason: PADL has been originally designed with Java in mind.