The first issue (your bug): unsupported manipulation with UnionAll:
This is not documented and I don’t think it’s correct. How did you come to this implementation? What’s the required behavior?
The second issue (arguably a Julia bug): inheriting from an abstract type doesn’t (currently) propagate parameter constraints. So this:
Should rather be:
struct RSAPOMDP1{S<:RSAState,A<:RSAAction} <: RSAPOMDP{S,A} end
That affects the dispatch for statetype1 etc.
Julia issue on Github:
3 Likes