úÎ*ö'‡,      !"#$%&'()*+ Safe-InferredIs n integral, ie. is , 1. Is n integral, and - to m. Is n integral and in range for .. Is n integral and in range for /.    None Encode 0 to 1. Decode 0 from 1. All 2 values are packed to 3. All 4 values are packed to 5. Pack 6. Pack  (key,value) pair to JSObject. ! encode_assoc ("a",encode_int 0)     NoneJSON numbers are 7 3 or 5. The JSON value type. 6 variant of  . 6 variant of  .  import Sound.OSC.Type.JSON 5 let j = decode_json_str "[\"/n_set\",-1,\"c1\",66]"  fmap decode_message j Encode . Encode 8 data (9 ), ie. the hosc real-valued  NRT representation. #Encode : data (1). $Encode ; data (Word8 tuple). %<$ encoder. The encoding is shallow, , = and  > are all sent to ?. :, 8 and  ; are tagged.  let {t = [(int32 0,"0")  ,(int64 0,"0")  ,(float 0.0,"0.0")  ,(double 0.1,"0.1")  ,(string "s","\"s\"") G ,(Blob (Data.ByteString.Lazy.pack [0,1]),"{\"blob\":[0,1]}") 1 ,(TimeStamp 0.0,"{\"timestamp\":0.0}") 4 ,(midi (0,1,2,3),"{\"midi\":[0,1,2,3]}")] C ;r = map (\(d,s) -> encode_json_str (encode_datum d) == s) t}  in all id r == True &@0 encoder, the representation is a flat array of  address and then arguments.  3 let m = message "/m" [Int32 0,Float 1,string "s"] ' in encode_json_str (encode_message m)  import Sound.SC3 D encode_json_str (encode_message (n_free [0])) == "[\"/n_free\",0]" 'A0 encoder, the representation is a flat array of #bundle  tag, 8 and then message arrays.  $ let b = bundle 0 [message "/m" []] & in encode_json_str (encode_bundle b) + let {b = bundle 0 [c_set1 3 4,n_free [0]] 0 ;r = "[\"#bundle\",{\"timestamp\":0.0}" ++ 2 ",[\"/c_set\",3,4.0],[\"/n_free\",0]]"} + in encode_json_str (encode_bundle b) == r (B encoder. )Decode @. ( let m = message "/m" [Int32 1,Float 1] 0 in decode_message (encode_message m) == Just m *Decode A.  5 let b = bundle 0.0 [message "/m" [Int32 1,Float 1]] . in decode_bundle (encode_bundle b) == Just b + let {b = bundle 0 [c_set1 3 4,n_free [0]]  ;j = encode_bundle b}  in (b,decode_bundle j) +Decode B.  !"#$%&'()*+ !"#$%&'()*+ !"#$%&'()*+ !"#$%&'()*+C      !"#$%&'()*+,-./012345675829:;<"=>?23@ABC2DE58F2GH2IJKLMKLNKLOKLPKLQKLRKLF;<!KLSKLTKLUVhosc-json-0.15Sound.OSC.Type.JSON.MathSound.OSC.Type.JSON.AesonSound.OSC.Type.JSONOIntin_rangein_int8in_int16in_int32in_int64ratio_is_integralratio_is_bounded_integral ratio_is_intratio_is_word8 encode_json decode_jsonencode_integer encode_double encode_string encode_assoc encode_list decode_str decode_list decode_assoc result_maybedecode_integer decode_double decode_numberdecode_double_errdecode_number_err decode_word8 decode_datumNumberValueencode_json_strdecode_json_str encode_numberencode_timestampencode_integralencode_floating encode_blob encode_midi encode_datumencode_message encode_bundle encode_packetdecode_message decode_bundle decode_packetbaseGHC.Real denominatorghc-prim GHC.Classes<= GHC.TypesGHC.WordWord8 aeson-0.7.0.6Data.Aeson.Types.Internalbytestring-0.10.0.2Data.ByteString.Lazy.Internal ByteStringIntegral integer-gmpGHC.Integer.TypeInteger GHC.FloatFloatingDoubleGHC.BaseString Data.EitherEither hosc-0.15Sound.OSC.Type TimeStampTimeBlobMidiDatumFloatMessageBundlePacket