///|
fn bracket_chunk(
  body : Array[String],
  start : Int,
) -> (Array[String], Int) raise ForthError {
  let chunk = []
  let mut pc = start
  while pc < body.length() {
    let word = body[pc]
    pc += 1
    if word == "]" {
      return (chunk, pc)
    }
    if word == "[" {
      raise Invalid("nested interpretation bracket")
    }
    chunk.push(word)
  }
  raise Invalid("missing closing bracket")
}