Consider the block definition below:

Script for 'max' with three arguments

Using similar methodology, your challenge is to make the following blocks work by composing several functions together (and then maybe a little extra work):

  1. A three-input addition operator that accepts only numbers.

    Three-argument addition operator
  2. A reporter block named "sum of two smallest" that takes three numbers as inputs, and reports the sum of the two smallest (the example shown below would report 9):

    sum of two smallest block
  3. A predicate block named "Are any equal?" that compares 3 numbers and returns true if any two are equal to each other (the example shown below would return true):

    Are any equal? predicate block