Я использую иногда и CamelStyle, и _. Когда делается процедурное API, но объектной семантики (операция над первым операндом).
Тогда первым словом до префикса указываю, к какому типу сущностей относится.

Пример:

## Код:
```
DEFINITION L1Meta;

   PROCEDURE Mod_GetName (m: L1Mem.Module; OUT name: ARRAY OF CHAR);
   PROCEDURE Mod_InitByName (OUT mod: L1Mem.Module; IN name: ARRAY OF CHAR);
   PROCEDURE Mod_InitLoaded (OUT mod: L1Mem.Module; IN name: ARRAY OF CHAR);
   PROCEDURE Mod_IsUnloaded (m: L1Mem.Module): BOOLEAN;
   PROCEDURE Mod_ToItem (mod: L1Mem.Module; OUT it: Meta.Item);
   PROCEDURE Type_Basic (IN type: L1Mem.Type): INTEGER;
   PROCEDURE Type_Fprint (IN type: L1Mem.Type): LONGINT;
   PROCEDURE Type_GetMod (t: L1Mem.Type; OUT m: L1Mem.Module);
   PROCEDURE Type_GetName (t: L1Mem.Type; OUT name: ARRAY OF CHAR);
   PROCEDURE Type_GetOfRec (OUT t: L1Mem.RecType; IN rec: ANYREC);
   PROCEDURE Type_IS (type: L1Mem.Type; IN rec: ANYREC): BOOLEAN;
   PROCEDURE Type_InitDescByName (OUT type: L1Mem.Type; IN name: ARRAY OF CHAR; load: BOOLEAN);

END L1Meta.

где в L1Mem:
      Addr* = RECORD x: POINTER TO RECORD [untagged] END END;
      Type* = RECORD addr-: Addr END;
      RecType* = RECORD type-: Type END;
      Module* = RECORD addr-: Addr END;
```
