The idea behind redef is this:
Originally the windows headers were generated with VAR and CONST support for a more pascal feel, but this turned out to be a problem because some calls allowed to pass NIL to the parameters.
Most core functions were changed to pointer syntax only, but often used functions where either old FPC or Delphi had a VAR construct were overloaded in redef.inc.
IOW this means that there also is a version with only pointers in func.inc