.NETのせいで話が止まってしまったのでネタ振り。

メソッド定義は void Func(int Arg); よりも Func(Arg: int): void; がいいです。
根拠は、実装箇所でクラス名を付ける時 Class::Func(Arg: int): void と先頭に付ければいいから。
ObjectPascalで procedure Class.Func(Arg: Integer); ってわざわざprocedureの後に書かないといけないのは嫌です。
( "::"やめて"."で統一すべきかも )

加えて>>81で書かれているように、*とconstを全て左からかかるようにすれば、非常に素直に読めます。
C言語ポインタ完全制覇の受け売りですけどね。

例: Func(A: * (X: int): real, B: const string): * (X: int): real;
( Funcは「整数を取り実数を返す関数へのポインタ」と「定数の文字列」を引数に取り「整数を取り実数を返す関数へのポインタ」を返す )