The algorithm implemented here keeps the previous mechanism for column type coercion, however it is now only applied for characters that don't have a polymorpic or uncertain state.
Accomplishing this without depending on correctly second-guessing the symbol requires knowing for each state whether it is polymorphic, uncertain, or "standard". To not have do this work again if the user wants to have this knowledge as well, we return this on demand in the form of a second matrix whose columns are factors with levels standard, polymorphic, and uncertain. The matrix will have NA where the state is NA.
The algorithm implemented here keeps the previous mechanism for column type coercion, however it is now only applied for characters that don't have a polymorpic or uncertain state.
Accomplishing this without depending on correctly second-guessing the symbol requires knowing for each state whether it is polymorphic, uncertain, or "standard". To not have do this work again if the user wants to have this knowledge as well, we return this on demand in the form of a second matrix whose columns are factors with levels
standard
,polymorphic
, anduncertain
. The matrix will haveNA
where the state isNA
.Fixes #186. Closes #175.