import json struct Result<T> { ok bool result T } struct User { id int username string } fn func<T>() ?T { text := '{"ok": true, "result":{"id":37467243, "username": "ciao"}}' a := json.decode(Result<T>, text)? return a.result } fn test_decode_with_generic_struct() ? { ret := func<User>()? println(ret) assert ret.id == 37467243 assert ret.username == 'ciao' }