Parameters in FA1.2 example contract
The example FA1.2 smart contract has different parameter names in Michelson than defined in the FA1.2 standard. Furthermore, the order / pairing of the parameters does also not match the FA1.2 standard.
For example FA1.2 defines for the transfer entry point:
(address :from, (address :to, nat :value)) %transfer
This is compiled by Ligo to Michelson: (pair %transfer (pair (address %address_from) (address %address_to)) (nat %value))
I suggest at least to adhere to the parameter names as defined in the FA1.2 standard. This enables indexers, explorers, etc. to implement the FA1.2 standard and automatically recognise entry points and its parameters, if they are analysing the script code and its annotations.