Problem with moving objects in array?

Hi the code below gives the error below and I have no idea why? I’m guessing I’m assigning something wrong but I cant seem to find why on any answers or just my own trouble shooting!

Code:

var coins : GameObject[];
var trigger = false;
var target : GameObject;
var speed : float;

function Start () 
{
	coins = GameObject.FindGameObjectsWithTag("Coin");
	target = gameObject.transform.position;
	speed = 5.0;
}

function Update () 
{
	var step = speed * Time.deltaTime;
	if (trigger == true)
	{
		coins = Vector3.MoveTowards(gameObject.transform.position, target.transform.position, step);
	}
}

Errors:

Assets/Scripts/Gameplay Functionality Script.js(75,44): BCE0022: Cannot convert 'UnityEngine.Vector3' to 'UnityEngine.GameObject[]'.

Assets/Scripts/Gameplay Functionality Script.js(19,39): BCE0022: Cannot convert 'UnityEngine.Vector3' to 'UnityEngine.GameObject'.

try

if (trigger == true)
{
     for(int k = 0; k <coins.length ; k++ )
     {
        coins[k].transform.position = Vector3.MoveTowards(coins[k].transform.position, target.transform.position, step);
     }
}

‘target’ is a GameObject. ‘gameObject.transform.position’ is a Vector3. So on line 9, you are attempting to assign a Vector3 to a GameObject. You cannot do that. My guess is that you want:

 target.transform.position = gameObject.transform.position;

On line 18, ‘coins’ is a GameObject. Your Vector3.MoveTowards() returns a Vector3. You are trying to assign a Vector3 to an array of game objects. It won’t work. Not sure what you are trying to do here. @pacific00 solutions is as good a guess as any.