I specified a tup which is a tuple aka (a' * a') and this is the line im getting in error in with my pattern matching
| tup (x,y) -> tup (map f x, map f y)
Error: This expression has type ('a * 'a)
but an expression was expected of type 'b * 'c
SSBzcGVjaWZpZWQgYSB0dXAgd2hpY2ggaXMgYSB0dXBsZSBha2EgKGEnICogYScpIGFuZCB0aGlzIGlzIHRoZSBsaW5lIGltIGdldHRpbmcgaW4gZXJyb3IgaW4gd2l0aCBteSBwYXR0ZXJuIG1hdGNoaW5nCiAgICB8IHR1cCAoeCx5KSAtPiB0dXAgKG1hcCBmIHgsIG1hcCBmIHkpCgpFcnJvcjogVGhpcyBleHByZXNzaW9uIGhhcyB0eXBlICgnYSAqICdhKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmJ1dCBhbiBleHByZXNzaW9uIHdhcyBleHBlY3RlZCBvZiB0eXBlICdiICogJ2MgICA=