agl_m(struct()) :: float()
new(list()) :: struct()
predict(struct(), float(), float(), float()) :: struct()
reset(struct(), float()) :: struct()
update_from_range(struct(), float()) :: struct()