@@ -19,6 +19,8 @@ module Grenade.Layers.Merge (
1919 Merge (..)
2020 ) where
2121
22+import Data.Serialize
23+
2224import Data.Singletons
2325
2426import Grenade.Core
@@ -53,3 +55,7 @@ instance (SingI i, SingI o, Layer x i o, Layer y i o) => Layer (Merge x y) i o w
5355 let (x', xB) = runBackwards x xTape o
5456 (y', yB) = runBackwards y yTape o
5557 in ((x', y'), xB + yB)
58+
59+instance (Serialize a, Serialize b) => Serialize (Merge a b) where
60+ put (Merge a b) = put a *> put b
61+ get = Merge <$> get <*> get