A language or design that frequently uses an operation/function/method that cannot be overridden or re-implemented is fundamentally flawed. For example, one should be able to write their own Print statement to replace or enhance the one that came with the language. If not, burn the language/tool. The alternative is to rename the function/method for a jillion existing calls. Long "dot-paths" may also cause similar problems. ---- See also: SqlStringsAndSecurity, ResponsibilityDrivenDesignConflictsWithYagni