action() :: {integer(), float(), float()}
feature() :: {integer(), float()} | {String.t(), float()} | String.t() | integer()
namespace() :: {String.t(), [feature()]}