Revert "Remove the use of `Data.Aeson.Generic` and use GHC Generics instead." because GHC generics uses a different serialization format.

This reverts commit 509b0fa84fee9c71f3f76e7f347179e2887bfcf4.
Serialization of `Instruction` is now implemented explicitly and does not rely on 'Generics' anymore. #73