code: func isWitnessProgram(pops []parsedOpcode) bool {
  	return len(pops) == 2 &&
  		isSmallInt(pops[0].opcode) &&
  		canonicalPush(pops[1]) &&
  		(len(pops[1].data) >= 2 && len(pops[1].data) <= 40)
  }
docs: // isWitnessProgram returns true if the passed script is a witness program, and
  // false otherwise. A witness program MUST adhere to the following constraints:
  // there must be exactly two pops (program version and the program itself), the
  // first opcode MUST be a small integer (0-16), the push data MUST be
  // canonical, and finally the size of the push data must be between 2 and 40
  // bytes.